package com.bj58.analysis.tools.common;

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.bj58.analysis.tools.common.bean.ActionData;



public class ActionDataUtils {


	/**
	 * @description 将action数据内容解析成一个actData对象
	 * @param actDataLine
	 *            action数据
	 * @return 返回一个ActData对象
	 */
	public static ActionData parserToActionData(String actionDataLine) {
		ActionData actionData = null;
		if (StringUtils.isNotBlank(actionDataLine)) {
			String[] arrys = actionDataLine.split("_");
			if (arrys.length > 4) {
				actionData = new ActionData();
				actionData.setEventType(arrys[0]);
				actionData.setPageWidth(arrys[1]);
				actionData.setPageHeigth(arrys[2]);
				actionData.setPageX(arrys[3]);
				actionData.setPageY(arrys[4]);
				Map<String, String> efMap = null;
				String extField = null;
				if (arrys.length > 5) {
					for (int i = 5; i < arrys.length; i++) {
						if (arrys[i].indexOf(":") > -1) {
							extField = arrys[i];
							break;
						}
					}
				}

				if (StringUtils.isNotBlank(extField)) {
					efMap = new HashMap<String, String>();
					String[] es = extField.split("@");
					for (String kv : es) {
						String[] ss = kv.split(":");
						if (ss.length > 1) {
							String k = ss[0];
							String v = ss[1];
							efMap.put(k, v);
						}
					}
				}

				if (efMap != null && efMap.size() != 0) {
					actionData.setExtFeildsMap(efMap);
				}
			}
		}
		return actionData;
	}

	

}
